package com.founder.cebxkit;

public class CEBXPageWrapper {
	private long mXEKPage;
	private long mXEKGRefEnumerator;

	/**
	 * 构造函数，负责各种初始值。
	 * @return
	 */
	public CEBXPageWrapper() {
		mXEKPage = 0;
		mXEKGRefEnumerator = 0;
	}

	/**
	 * 开始枚举，初始化页码对象枚举器。
	 * @return
	 */
	public native void Restart();
	
	/**
	 * 前进到下一个位置，如果返回DK_FALSE，不应该再从枚举器取任何数据。
	 * @return
	 */
	public native boolean MoveNext();
	
	/**
	 * 获取当前对象。
	 * @return
	 */
	public CEBXGraphicRefWrapper Current() {
		long handle = XEKCurrent();
		if (handle != 0)
		{
			CEBXGraphicRefWrapper gref = new CEBXGraphicRefWrapper();
			gref.SetXEKGraphicRef(handle);
			return gref;
		}
		else
			return null;
	}
	
	/**
	 * 结束枚举，释放底层枚举器。
	 * @return
	 */
	public native void End();
	
	public native long XEKCurrent();
	
	/**
	 * 设置XEK层版式页对象句柄。
	 * @param handle 	页对象句柄
	 * @return
	 */
	public void SetXEKPage(long handle) {
		mXEKPage = handle;
	}
	
	/**
	 * 获取XEK层版式页对象句柄。
	 * @return
	 */
	public long GetXEKPage() {
		return mXEKPage;
	}
}
